********************************
■■■■
■ ■ ■ ■
■ ■■■ ■■■
■ ■ ■ ■
■■■■
〜基礎から ★ C++Programing〜
********************************
【注意】 このマガジンは、最大化してお読みください。
また、等角フォントでお読みください。
(MS ゴシックなど)
********************************
発行者 むーくん
マガジンNO. 67(5−7)
発行日 2001/2/16
講読人数 2000名ぐらい
マガジンID 0000050494
このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★
まぐまぐMagazine、見ていただけましたか?
よかったら買ってね。
********************************
********************************
★目次★
・break文
・注意
・サンプルプログラム
・予告
********************************
★break文★
break文は、以前、switch文を扱ったときに出てきました。
本来の意味は、「コードブロック」を脱出するということです。
要するに、「if」「ループ」などから、脱出できるということです。
********************************
★注意★
・コードブロックが何重にもなっているときは、
一番内側しか脱出できません。
・使いすぎるとプログラムの流れが分かりにくくなります。
(gotoと同じように、スパゲッティープログラムの原因です)
********************************
★サンプルプログラム★
実際に使い方を見た方が早いでしょう。
お買い物プログラムです。所持金は10000円とします。
使った金額をユーザーに入力させ、最終的な残金を表示します。
但し、終了条件は、0を入力するか、所持金がなくなったときとします。
#include<iostream>
using namespace std;
int main(void){
int reminder=10000, input;
while(reminder > 0){ /*簡潔な条件式*/
cout << "使ったお金は? : ";
cin >> input;
reminder -= input;
if(!input){ /*簡潔な終了条件*/
break;
}
}
cout << "残金は、" << reminder << "円です。" << endl;
return 0;
}
これは、下のプログラムと同じ意味です。
#include<iostream>
using namespace std;
int main(void){
int reminder=10000, input;
while(reminder > 0 && input){ /*分かりにくい条件式*/
cout << "使ったお金は? : ";
cin >> input;
reminder -= input;
}
cout << "残金は、" << reminder << "円です。" << endl;
return 0;
}
【解説】
break文を用いることで、条件式が簡単になり、
入力が0で終了するということが、より強調されています。
while文の条件式は「継続条件」なので、
「終了条件」とは逆になり、混乱の原因になるかもしれません。
どう使うかはプログラマの好みなので、
breakを使わなくても表現できます。
でもたまに、効率的なアルゴリズムになることがあるので、
覚えておきましょう。
実際には、エラーが起きたときの非常口にしたり、
頻出条件を先に省いたりすることに
使用することが多いでしょう。
********************************
★用語説明★
スパゲッティープログラム
どこが始まりで、どこへつながるのかが非常に分かりにくい
悪いプログラムの例え。
********************************
★予告★
・continue文を学習します。
********************************
********************************
講読解除はこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html
内容について質問やご意見など
smukun@hotmail.com
筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/
************************************